layui.use('table', function() {
    var table = layui.table;

    table.render({
        //显示角色列表
        elem: '#findAll'
        , url: '../../role/selectPage'/*tpa=https://www.layui.site/test/table/demo1.json*/
        , toolbar: '#addAndUpdate' //开启头部工具栏，并为其绑定左侧模板
        // , defaultToolbar: ['filter', 'exports', 'print', { //自定义头部工具栏右侧图标。如无需自定义，去除该参数即可
        //     title: '提示'
        //     , layEvent: 'LAYTABLE_TIPS'
        //     , icon: 'layui-icon-tips'
        // }]
        //查询条件
        ,where:{
            roleName: ''
        }
        ,id: 'findAll'
        , title: '用户数据表'
        , cols: [[
            //{type: 'checkbox', fixed: 'left'},
             {field: 'roleId', title: 'ID', width: 80, fixed: 'left', unresize: true, sort: true,align: 'center'}
            , {field: 'roleName', title: '角色名', width: 150, edit: 'text',align: 'center'}
            , {field: 'id', hide:true,title: '菜单id', width: 150, edit: 'text',align: 'center'}
            , {field: 'menuName', title: '菜单', width: 300, edit: 'text',align: 'center'}
            , {field: 'createTime', title: '创建时间', width: 200,align: 'center'}
            , {field: 'createBy', title: '创建人', width: 100,align: 'center'}
            , {field: 'updateBy', title: '修改人', width: 100,align: 'center'}
            //, {field: 'updateTime', title: '修改时间', width: 100}
            , {field: 'remark', title: '备注', width: 300, sort: true,align: 'center'}
            , {fixed: 'right', title: '操作', toolbar: '#update', width: 300,align: 'center'}
        ]]
        ,page:true
    });

    //条件查询搜索按钮
    $("#selectBtn").click(function (ev) {
        console.info("reload");
        table.reload('findAll', {
             where: {
                roleName: $('#roleName').val(),
            }, //设定异步数据接口的额外参数
            page: {
                curr:1
            }
        });
        return false;
    })

    //头工具栏事件
    table.on('toolbar(findAll)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id);
        switch (obj.event) {
            //新增角色按钮
            case 'add':
                layer.open({
                    type: 2   //1只是content显示字符串,2代表content显示页面
                    , title: "新增角色" //true显示标题栏，false不显示标题
                    //,resultType:'post'
                    , area: ['800px', '600px']
                    , shade: 0.8
                    , id: 'LAY_layuipro' //设定一个id，防止重复弹出
                    , btnAlign: 'c'
                    , moveType: 1 //拖拽模式，0或者1
                    , content: 'addRoleTab.html'
                });
                // var data = checkStatus.data;
                // layer.alert(JSON.stringify(data));
                break;


            case 'isAll':
                layer.msg(checkStatus.isAll ? '全选' : '未全选');
                break;
            //自定义头工具栏右侧图标 - 提示
            case 'LAYTABLE_TIPS':
                layer.alert('这是工具栏右侧自定义的一个图标按钮');
                break;
        }

        //表单取值
        layui.$('#LAY-component-form-getval').on('click', function(){
            var data = form.val('example');
            alert(JSON.stringify(data));
        })
    });

    //监听行工具事件
    table.on('tool(findAll)', function (obj) {

        var rowdata=obj.data

        var role_id = rowdata.roleId;

        if(obj.event === 'delete') {

            layer.confirm('真的删除该角色么？', function (index) {
                // obj.delete(); //删除对应行（tr）的DOM结构，并更新缓存
                //向服务端发送删除指令
                $.ajax({
                    type: "get",  //数据提交方式(post/get)
                    elem: "#update",
                    data: "roleId=" + role_id,
                    url: "../../role/delete",  //提交到的url
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",//返回的数据类型格式
                    success: function (Result) {
                        layer.alert(("删除成功！"),function (){
                            window.location.reload()
                        })
                    }, error: function (e) {
                        console.log(e, 'error');
                        layer.msg("删除异常，请联系管理员！", {icon: 5, time: 1000});
                    }
                });
                layer.close(index);
            });
        }

        else if(obj.event === 'edit'){

            console.info(obj.event.target);

            layer.open({
                type: 2   //1只是content显示字符串,2代表content显示页面
                ,title: "修改角色" //true显示标题栏，false不显示标题
                ,elem:'#bar'
                ,contentType: "application/json"
                //,dataType: "json"//返回的数据类型格式
                ,closeBtn: 1
                ,area: ['800px', '600px']
                ,shade: 0.8
                ,id: 'LAY_layuiup' //设定一个id，防止重复弹出
                ,btnAlign: 'c'
                ,moveType: 1 //拖拽模式，0或者1
                ,content: 'updateRoleTab.html'
                ,success: function(layero,frame,frame02){

                   var iframein=window[layero.find('iframe')[0]['name']];
                    //window.parent.$("#menuIdList").val(menuIdList)
                    iframein.$("#role_name").val(rowdata.roleName);
                    iframein.$("#menuNameList").val(rowdata.menuName);
                    iframein.$("#menuIdList").val(rowdata.id);
                    iframein.$("#role_id").val(rowdata.roleId);
                    iframein.$("#remark").val(rowdata.remark);
                    iframein.$("#update_by").val(rowdata.updateBy);
                    iframein.$("#create_by").val(rowdata.createBy);
                    iframein.layui.form.render();

                    var btn = layero.find('.layui-layer-btn');
                    btn.find('.layui-layer-btn0').attr({
                        href: 'role.html'/*tpa=https://www.layui.site/*/
                        ,target: '_blank'
                    });

                }
            });

        }

        //分配用户
        else if(obj.event === 'assignUser'){

            console.info(obj.event.target);

            layer.open({
                type: 2
                , title: "分配用户"
                , closeBtn: 1
                , area: ['1300px', '700px']
                , shade: 0.8
                , btnAlign: 'c'
                , content: 'assignUser.html'
                , success: function (layero) {
                    debugger
                    var iframein = window[layero.find('iframe')[0]['name']];
                    debugger
                    iframein.$("#role_id").val(rowdata.roleId);
                    iframein.$("#create_by").val(rowdata.createBy);
                    iframein.$("#update_by").val(rowdata.updateBy);
                    iframein.layui.form.render();
                }
            });

        }

    });

});